package com.ruoyi.contract.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 合同管理对象 contract_main
 * 
 * @author yiran
 * @date 2021-04-21
 */
public class ContractMain extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private String gid;

    /** 合同编码 */
    @Excel(name = "合同编码")
    private String code;

    /** 合同名称 */
    @Excel(name = "合同名称")
    private String name;

    /** 客户名称 */
    @Excel(name = "客户名称")
    private String customer;

    /** 合同类型 */
    @Excel(name = "合同类型")
    private Integer typeFlag;

    /** 发票状态 */
    @Excel(name = "发票状态")
    private Integer invoiceState;

    /** 收款状态 */
    @Excel(name = "收款状态")
    private Integer collectionState;

    /** 已收款金额 */
    @Excel(name = "已收款金额")
    private BigDecimal receivedAmount;

    /** 合同金额 */
    @Excel(name = "合同金额")
    private BigDecimal contractAmount;

    /** 已开票金额 */
    @Excel(name = "已开票金额")
    private BigDecimal invoiceAmount;

    /** 合同状态 */
    @Excel(name = "合同状态")
    private Integer state;

    /** 签订部门 */
    @Excel(name = "签订部门")
    private String signDept;

    /** 签订人 */
    @Excel(name = "签订人")
    private String signUser;

    /** 父级合同ID */
    @Excel(name = "父级合同ID")
    private String parentId;

    public void setGid(String gid) 
    {
        this.gid = gid;
    }

    public String getGid() 
    {
        return gid;
    }
    public void setCode(String code) 
    {
        this.code = code;
    }

    public String getCode() 
    {
        return code;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setTypeFlag(Integer typeFlag) 
    {
        this.typeFlag = typeFlag;
    }

    public String getCustomer() {
        return customer;
    }

    public void setCustomer(String customer) {
        this.customer = customer;
    }

    public Integer getTypeFlag()
    {
        return typeFlag;
    }
    public void setInvoiceState(Integer invoiceState) 
    {
        this.invoiceState = invoiceState;
    }

    public Integer getInvoiceState() 
    {
        return invoiceState;
    }
    public void setReceivedAmount(BigDecimal receivedAmount) 
    {
        this.receivedAmount = receivedAmount;
    }

    public Integer getCollectionState() {
        return collectionState;
    }
    public void setCollectionState(Integer collectionState) {
        this.collectionState = collectionState;
    }

    public BigDecimal getReceivedAmount()
    {
        return receivedAmount;
    }
    public void setContractAmount(BigDecimal contractAmount) 
    {
        this.contractAmount = contractAmount;
    }

    public BigDecimal getContractAmount() 
    {
        return contractAmount;
    }
    public void setState(Integer state) 
    {
        this.state = state;
    }

    public BigDecimal getInvoiceAmount() {
        return invoiceAmount;
    }

    public void setInvoiceAmount(BigDecimal invoiceAmount) {
        this.invoiceAmount = invoiceAmount;
    }

    public Integer getState()
    {
        return state;
    }
    public void setSignDept(String signDept)
    {
        this.signDept = signDept;
    }

    public String getSignDept()
    {
        return signDept;
    }
    public void setSignUserId(String signUser)
    {
        this.signUser = signUser;
    }

    public String getSignUser()
    {
        return signUser;
    }
    public void setParentId(String parentId)
    {
        this.parentId = parentId;
    }

    public String getParentId() 
    {
        return parentId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("gid", getGid())
            .append("code", getCode())
            .append("name", getName())
            .append("typeFlag", getTypeFlag())
            .append("invoiceState", getInvoiceState())
            .append("collectionState", getCollectionState())
            .append("receivedAmount", getReceivedAmount())
            .append("contractAmount", getContractAmount())
            .append("state", getState())
            .append("signDept", getSignDept())
            .append("signUser", getSignUser())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .append("parentId", getParentId())
            .toString();
    }
}
